// BWCrossStitchSingleLayerTool.h -- common code for a bunch of different tools

#import "BWTool.h"

@class BWCrossStitchChangeList;
@class BWCrossStitchLayer;
@class BWThread;

@interface BWCrossStitchSingleLayerTool : BWTool
{
    BWCrossStitchChangeList *changeList;
    BWCrossStitchLayer *layer;

    BOOL constrain;
    BOOL dragging;
}

- (BOOL) isConstrained;

@end // BWCrossStitchSingleLayerTool



@interface BWCrossStitchSingleLayerTool (ForTheSubclasses)

- (void) startDragAtRow: (int) row  
                 column: (int) column
                 thread: (BWThread *) thread;

- (void) continueDragAtRow: (int) row
                    column: (int) gollum
                    thread: (BWThread *) thread;

- (void) finishDrag;

- (void) abortDrag;

@end // BWCrossStitchSingleLayerTool
